package com.ito.areaTrabajo.control;

import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.select.SelectorComposer;
import org.zkoss.zk.ui.select.annotation.Listen;
import org.zkoss.zk.ui.select.annotation.Wire;
import org.zkoss.zul.Borderlayout;
import org.zkoss.zul.Button;
import org.zkoss.zul.Div;

import com.ito.areaTrabajo.modelo.dao.ContenedorDao;
import com.ito.areaTrabajo.modelo.dao.PlantillaDao;
import com.ito.areaTrabajo.modelo.dao.ProyectoDao;
import com.ito.ito.areaTrabajo.modelo.Componente;
import com.ito.ito.areaTrabajo.modelo.Contenedor;
import com.ito.ito.areaTrabajo.modelo.Estructura;
import com.ito.ito.areaTrabajo.modelo.Plantilla;
import com.ito.ito.areaTrabajo.modelo.Proyecto;

public class ObtienePos extends SelectorComposer<Component> {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	

	private ProyectoDao dao;
	public ObtienePos(){
		dao=new ProyectoDao();
	}
//	private ComponenteDao componenteDao;
	@Wire
	private Div d1, d2, dExaminar, d3, d4, d5, d6;

	@Listen("onClick=#btnPos")
	public void obtieneHijos() {
		d1.getChildren().get(0).getId();
		d2.getChildren().get(0).getId();
		dExaminar.getChildren().get(0).getId();
		d4.getChildren().get(0).getId();
		d5.getChildren().get(0).getId();
		d6.getChildren().get(0).getId();
		// mostrando el id del contenedor y del componente que esta dentro
		System.out.println("contenedor:" + d1.getId() + ":"
				+ d1.getChildren().get(0).getId());
		System.out.println("contenedor:" + d2.getId() + ":"
				+ d2.getChildren().get(0).getId());
		System.out.println("contenedor:" + dExaminar.getId() + ":"
				+ dExaminar.getChildren().get(0).getId());
		System.out.println("contenedor:" + d4.getId() + ":"
				+ d4.getChildren().get(0).getId());
		System.out.println("contenedor:" + d5.getId() + ":"
				+ d5.getChildren().get(0).getId());
		System.out.println("contenedor:" + d6.getId() + ":"
				+ d6.getChildren().get(0).getId());
		System.out.println("------------------------------------------------");
		// bd
		Contenedor contenedor = new Contenedor();
		contenedor.setNombre(d1.getId());

		Contenedor contenedor1 = new Contenedor();
		contenedor1.setNombre(d2.getId());

		Contenedor contenedor2 = new Contenedor();
		contenedor2.setNombre(dExaminar.getId());

		Contenedor contenedor3 = new Contenedor();
		contenedor3.setNombre(d4.getId());

		Contenedor contenedor4 = new Contenedor();
		contenedor4.setNombre(d5.getId());

		Contenedor contenedor5 = new Contenedor();
		contenedor5.setNombre(d6.getId());
		


		Componente componente = new Componente();

		componente.setTipo(d1.getChildren().get(0).getId());

		Componente componente1 = new Componente();
		componente1.setTipo(d2.getChildren().get(0).getId());

		Componente componente2 = new Componente();
		componente2.setTipo(dExaminar.getChildren().get(0).getId());

		Componente componente3 = new Componente();
		componente3.setTipo(d4.getChildren().get(0).getId());

		Componente componente4 = new Componente();
		componente4.setTipo(d5.getChildren().get(0).getId());

		Componente componente5 = new Componente();
		componente5.setTipo(d6.getChildren().get(0).getId());

		contenedor.setComponente(componente);
		
		contenedor1.setComponente(componente1);
		contenedor2.setComponente(componente2);
		contenedor3.setComponente(componente3);
		contenedor4.setComponente(componente4);
		contenedor5.setComponente(componente5);

		Proyecto proyecto=(Proyecto)Executions.getCurrent().getSession().getAttribute("proyectoActual");
		Plantilla plantillaPortada=null;
		if(proyecto.getGplantillas().getPlantillas().isEmpty()){
			plantillaPortada=new Plantilla();
			plantillaPortada.setNombrePlantilla("portada");
			Estructura estrucutra = new Estructura();
			plantillaPortada.getEstructuras().add(estrucutra);
			if(proyecto.getGplantillas().getPlantillas().isEmpty()){
				proyecto.getGplantillas().getPlantillas().add(plantillaPortada);
			}else{
				proyecto.getGplantillas().getPlantillas().set(0, plantillaPortada);
			}
		}else{
			plantillaPortada=proyecto.getGplantillas().getPlantillas().get(0);
		}
		plantillaPortada.getEstructuras().get(0).getContenedores().add(contenedor);
		plantillaPortada.getEstructuras().get(0).getContenedores().add(contenedor1);
		plantillaPortada.getEstructuras().get(0).getContenedores().add(contenedor2);
		plantillaPortada.getEstructuras().get(0).getContenedores().add(contenedor3);
		plantillaPortada.getEstructuras().get(0).getContenedores().add(contenedor4);
		plantillaPortada.getEstructuras().get(0).getContenedores().add(contenedor5);
		dao.persist(proyecto);
		Executions.getCurrent().getSession().setAttribute("listaPlantillas", 1);
		Executions.sendRedirect("/home/encargado_home.zul");


	}
}
